<pre><p>
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &quot;applib.h&quot;


void ERROR(const char *appname)
{
	printf(&quot;\n\nERROR en el comando\n\nUso correcto:\n\n&quot;);
	printf(&quot;%s OPCION parametro1 [parametro2]\n\nDonde:\n\n&quot;, appname);
	printf(&quot; - 'OPCION' puede ser:\n&quot;);
	printf(&quot;          fecha: para validar una fecha\n&quot;);
	printf(&quot;          fechaComp: para coparar dos fechas\n&quot;);
	printf(&quot;          entero: para validar un entero\n&quot;);
	printf(&quot;          real: para validar un real\n\n&quot;);
	printf(&quot; - parametro1: sera un valor para validar (fecha, real, entero...)\n\n&quot;);
	printf(&quot; - parametro2: sera un valor opcional solo para la opcion de comparar fechas\n\n&quot;);
	printf(&quot;\n\n\n\n\n&quot;);
}

int main(int argc, char *argv[])
{
	int v;
	double x;

	if(argc&lt;3 || argc&gt;4)
	{
		ERROR(argv[0]);
		return 0;
	}

	if(strcmp(argv[1], &quot;fecha&quot;)==0)
	{
		printf(&quot;\n\nOperacion VALIDAR FECHA\n&quot;);
		if(argc!=3)
		{
			ERROR(argv[0]);
			return 0;
		}

		if(FechaValida(argv[2]))
			printf(&quot;La cadena '%s' es una fecha CORRECTA\n\n&quot;, argv[2]);
		else
			printf(&quot;La cadena '%s' es una fecha INCORRECTA\n\n&quot;, argv[2]);
	}
	else if(strcmp(argv[1], &quot;fechaComp&quot;)==0)
	{
		printf(&quot;\n\nOperacion COMPARAR FECHA\n&quot;);
		if(argc!=4)
		{
			ERROR(argv[0]);
			return 0;
		}

		if(!FechaValida(argv[2]))
		{
			printf(&quot;Ojo, el [parametro1] ('%s') no es una fecha correcta\n&quot;, argv[2]);
			printf(&quot;No se puede hacer la comparacion\n\n&quot;);
			return 0;
		}
		if(!FechaValida(argv[3]))
		{
			printf(&quot;Ojo, el [parametro2] ('%s') no es una fecha correcta\n&quot;, argv[3]);
			printf(&quot;No se puede hacer la comparacion\n\n&quot;);
			return 0;
		}

		v=FechaComp(argv[2], argv[3]);
		if(v&lt;0)
			printf(&quot;La fecha '%s' es MENOR que la fecha '%s'\n\n&quot;, argv[2], argv[3]);
		else if(v&gt;0)
			printf(&quot;La fecha '%s' es MAYOR que la fecha '%s'\n\n&quot;, argv[2], argv[3]);
		else
			printf(&quot;Las fechas '%s' y '%s' son IGUALES\n\n&quot;, argv[2], argv[3]);

	}
	else if(strcmp(argv[1], &quot;entero&quot;)==0)
	{
		printf(&quot;\n\nOperacion VALIDAR ENTERO\n&quot;);
		if(argc!=3)
		{
			ERROR(argv[0]);
			return 0;
		}

		if(EnteroValido(argv[2], &amp;v))
			printf(&quot;La cadena '%s' es un entero CORRECTO (%d)\n\n&quot;, argv[2], v);
		else
			printf(&quot;La cadena '%s' es una entero INCORRECTO (%d)\n\n&quot;, argv[2], v);
	}
	else if(strcmp(argv[1], &quot;real&quot;)==0)
	{
		printf(&quot;\n\nOperacion VALIDAR REAL\n&quot;);
		if(argc!=3)
		{
			ERROR(argv[0]);
			return 0;
		}
		if(RealValido(argv[2], &amp;x))
			printf(&quot;La cadena '%s' es un real CORRECTO (%f)\n\n&quot;, argv[2], x);
		else
			printf(&quot;La cadena '%s' es una real INCORRECTO (%f)\n\n&quot;, argv[2], x);
	}
	else
		ERROR(argv[0]);

	return 0;
}
</p></pre>
